Method, system, and computer program product for managing foreign holidays for a computer application based on email

ABSTRACT

A method, system, and computer program product are provided for managing foreign holidays for a computer application based on email. The method includes receiving email information relating to foreign countries that a user communicates with, calculating based on the email information a respective count for each foreign country, and comparing the respective count to a threshold. The method further includes offering the user an option to add foreign holidays corresponding to a particular foreign country to the computer application when the respective count for the particular foreign country exceeds the threshold, and offering the user an option to specify a different country than an actual originating country. The respective count is respectively calculated for the actual originating country and for the different country to allow consideration of both a home country as the different country and a visiting country as the actual originating country for a particular individual.

BACKGROUND

1. Technical Field

The present invention relates to a method, a system, and a computerprogram product for managing foreign holidays for a computer applicationbased on email.

2. Description of the Related Art

When working in a global world, one may have to manage correspondencewith people from different countries all over the world. Tools exist tocalculate time differences between time zones. However, we are notalways aware of special days when people in other countries are notworking and, thus, are probably not available for calls or prompt emailresponses. Some solutions exist for adding certain holidays to acalendar. For example, one simple solution is to locate the holidays ofother countries (hereinafter also referred to as “foreign holidays”)manually, for example on the web, and add them manually to our calendar.However, we will probably do so only after we first have a mishap causedby this lack of information, and this certainly does not offerautomation of such a process.

There is a need to provide a way to add foreign holidays to a computerapplication.

SUMMARY

The shortcomings of the prior art are overcome and additional advantagesare provided through the provision of a method, a system, and computerprogram product for managing foreign holidays for a computer applicationbased on email.

According to an aspect of the present principles, there is provided amethod for managing foreign holidays for a computer application. Themethod includes receiving email information relating to foreigncountries that a user communicates with, calculating based on the emailinformation a respective count for each of the foreign countries thatindicates a number of times the user has communicated with respect tothe foreign countries, and comparing the respective count for each ofthe foreign countries to a threshold. The method further includesoffering the user an option to add one or more foreign holidayscorresponding to a particular one of the foreign countries to thecomputer application when the respective count for the particular one ofthe foreign countries exceeds the threshold, and offering the user anoption to specify a different country than an actual originating countryfrom among the foreign countries that the user communicates with. Therespective count is respectively calculated for the actual originatingcountry and for the different country to allow consideration of both ahome country as the different country and a visiting country as theactual originating country for a particular individual.

These and other features and advantages will become apparent from thefollowing detailed description of illustrative embodiments thereof,which is to be read in connection with the accompanying drawings.

BRIEF DESCRIPTION OF DRAWINGS

The disclosure will provide details in the following description ofpreferred embodiments with reference to the following figures wherein:

FIG. 1 illustrates an exemplary system having foreign holiday managingcapabilities, according to an embodiment of the present principles;

FIG. 2 illustrates another exemplary system having foreign holidaymanaging capabilities, according to an embodiment of the presentprinciples; and

FIG. 3 illustrates an exemplary method for managing foreign holidays fora computer application, according to an embodiment of the presentprinciples.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Referring now in detail to the figures in which like numerals representthe same or similar elements and initially to FIG. 1, an exemplarysystem having foreign holiday managing capabilities is indicatedgenerally by the reference numeral 100.

System 100 may represent practically any type of computer, computersystem or other programmable electronic system. System 100 may beconnected to a network or may be a stand-alone system in thealternative.

System 100 includes a processor 131 that is connected to a memory unit132, user input interface component 133 and display 134. System 100 canbe connected to other devices via wired and/or wireless links. It is tobe noted that system 100 can be characterized by a centralizedarchitecture but that it can also be characterized by a distributedarchitecture. Accordingly, the various components of system 100 can belocated near each other, but this is not necessarily so.

User input interface component 133 can be a keyboard, a mouse, ajoystick, a touchpad, a microphone, a gesture recognition device, or acombination thereof. It is to be noted that, depending upon theembodiment, some of the above mentioned components may be optional.

According to a first embodiment of the invention, system 100 operatesunder the control of operating system 140, and executes various computersoftware applications, components, programs, objects, modules, and soforth, such as but not limited to executable programs 142, and foreignholiday manager 144.

Conveniently, system 100 can be controlled by multiple operating systemsthat in turn are monitored by a hypervisor. For simplicity ofexplanation, FIG. 1 illustrates a single operating system.

For simplicity of explanation it is assumed that foreign holiday manager144 is used to identify and manage foreign holidays for a certainprogram (such as 146) out of executable programs 142. Certain programmay be, but is not limited to, a calendar program, an email program, acombination of the preceding, and so forth. In fact, in an embodiment,certain program 146 may involve two or more programs, for example acalendar program and a separate email program, where data from the emailprogram is used to manage holidays for the calendar program. These andother variations are readily contemplated by one of ordinary skill inthis and related arts given the teachings of the present principlesprovided herein, while maintaining the spirit of the present principles.

In an embodiment, foreign holiday manager 144 may include a foreignholiday database 143. In an embodiment, foreign holiday database 143 maybe used to determine foreign holidays for particular countries ofinterest and the days on which the foreign holidays occur.Alternatively, foreign holiday database 143 may be implemented as aseparate entity with respect to foreign holiday manager 144. Moreover,it is to be appreciated that the present principles are not limited tothe use of foreign holiday database 143 to determine foreign holidaysand the days on which they occur and, thus, other sources for suchinformation (e.g., the Internet) may also be employed, while maintainingthe spirit of the present principles.

According to another embodiment of the invention, foreign holidaymanager 144 and certain program 146 (the latter, to which foreignholiday manager may be applied) are stored at different devices, asillustrated in FIG. 2. Referring to FIG. 2, another exemplary systemhaving foreign holiday management capabilities is indicated generally bythe reference numeral 200. In system 200, first device 212 can send,over network 214, actual emails received by certain program 146 and/orrepresentative information (for example, as summarized and/or otherwisecollected together in a single output file) to second device 216. Seconddevice 216 can then execute foreign holiday manager 144 to manageforeign holidays for certain program 146. The results of the management(including, for example, names and dates of certain foreign holidaysthat may be added/removed/and so forth from certain program 146) can besent, over network, 214, to first device 212. It is noted that firstdevice 212 and second device 216 can include additional components suchas a display, a user input interface, a processor, a memory and thatthey can store an operating system and executable programs.

Referring back to FIG. 1, the execution of foreign holiday manager 144can be triggered in response to a user request, can be triggered inresponse to an occurrence of one or more certain events (such as but notlimited to the receipt of an email from a foreign country by certainapplication 146), or can be triggered in view of a combination of both.Of course, other triggers may also be employed, while maintaining thespirit of the present principles.

It is to be appreciated that while one or more embodiments of thepresent principles use information that is obtained from emails (and,thus, it is possible to directly or indirectly receive the same from anemail program), the present principles may be directed to one or moreother programs. For example, while one or more embodiments of thepresent principles may interface with and/or otherwise communicate withan email program to receive information relating to emails receivedand/or sent by a user, the present principles may also be applied to acalendar program, so that a corresponding calendar will include newlyadded foreign holidays for countries identified with respect to theemails and/or other information provided by the email program, whilemaintaining the spirit of the present principles.

FIG. 3 is a flow chart of method 100 for managing foreign holidays for acomputer application, according to an embodiment of the invention. Themethod 300 includes receiving input data from an application (e.g., anemail program) relating to foreign countries that a user communicateswith at step 305.

At step 310, the input data is processed to determine the identities ofany foreign countries that the user communicates with. It is to beappreciated that step 310 may be performed in a variety of ways and,hence, the present principles are not limited to any particular way ofusing email to determine the identities of foreign countries that theuser communicates with. In an embodiment, the input data is simplyparsed to identify any foreign countries mentioned therein. Thisapproach could be used for example, since emails originating from the ukmight include a .uk suffix (e.g., elizabeth_(—)2@buckingham.org.uk). Inanother embodiment, we can reverse-interpret the originating IP addressof the sender. For example, for a given originating IP address such as123.123.123.123, a reverse lookup is performed to determine that this IPbelongs to a company in the UK. Of course, other processing and/orapproaches may also be performed in accordance with the presentprinciples, while maintaining the spirit of the present principles.

At step 315, a respective count is calculated for each country(identified per step 310) that indicates how many times a communicationwas performed with respect thereto. It is to be appreciated that thecount may be an overall count, or may be based on a time period.

At step 320, each count (for a particular country) is compared to athreshold.

At step 325, holidays for each country whose corresponding count valueexceeded the threshold (per step 320) are identified.

At step 330, the user is offered the option of adding one or more of theidentified holidays (per step 325) to a computer application (forexample, a calendar program, an email program, a combination program,and so forth).

At step 335, the user is offered the option of restricting the user frombeing later offered the option to add the one or more of the identifiedholidays (per step 325) to a computer application.

At step 340, any countries, having had holidays previously added (oroffered to be added) with respect thereto, and that the user no longercommunicates with, are identified. Such identification may be made, forexample, based on a time period (e.g., last six months, and so forth).

At step 345, the user is offered the option of deleting the previouslyadded holidays for the identified countries (per step 340), if any, nolonger being communicated with by the user.

At step 350, the user is offered the option of specifying a differentcountry than an actual originating country (and thus identified per step310) for emails received from and/or sent to a particular individual(thus essentially changing the name of the country that is being furtherprocessed in accordance with the present principles). The user may befurther offered the option to use (i.e., manage) the holidays for thedifferent country (versus the actual originating country) irrespectiveof whether any holidays are being managed for the actual originatingcountry. It is to be appreciated that a respective count may becalculated per step 315 for the actual originating country and anotherrespective count may be calculated for a different country (or for onlyone of these countries, depending upon user preference), with furtherprocessing for each as described herein. In the former case, the tworespective counts take into consideration that the individual willlikely still observe his or her own holidays from their own home country(here, the “different country”) while still observing any holidays inthe country in which they are visiting (here, the “actual originatingcountry”). It is to be appreciated that the preceding may encompass thecase where neither the actual originating country nor the differentcountry corresponding to the individual are the same country that theuser is in. Of course, in another case, one of the different country orthe actual originating country may be the same country that the user isin. Further, the different country may be a country where acommunication was never sent to and/or received from with respect to theuser.

At step 355, the user is notified of a current holiday with respect to asending or a receiving of a communication to/from a corresponding one ofthe foreign countries.

It should be understood that the elements shown in the FIGURES may beimplemented in various forms of hardware, software or combinationsthereof. Preferably, these elements are implemented in software on oneor more appropriately programmed general-purpose digital computershaving a processor and memory and input/output interfaces.

Embodiments of the present invention can take the form of an entirelyhardware embodiment, an entirely software embodiment or an embodimentincluding both hardware and software elements. In a preferredembodiment, the present invention is implemented in software, whichincludes but is not limited to firmware, resident software, microcode,etc.

Furthermore, the invention can take the form of a computer programproduct accessible from a computer-usable or computer-readable mediumproviding program code for use by or in connection with a computer orany instruction execution system. For the purposes of this description,a computer-usable or computer readable medium can be any apparatus thatmay include, store, communicate, propagate, or transport the program foruse by or in connection with the instruction execution system,apparatus, or device. The medium can be an electronic, magnetic,optical, electromagnetic, infrared, or semiconductor system (orapparatus or device) or a propagation medium. Examples of acomputer-readable medium include a semiconductor or solid state memory,magnetic tape, a removable computer diskette, a random access memory(RAM), a read-only memory (ROM), a rigid magnetic disk and an opticaldisk. Current examples of optical disks include compact disk-read onlymemory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.

A data processing system suitable for storing and/or executing programcode may include at least one processor coupled directly or indirectlyto memory elements through a system bus. The memory elements can includelocal memory employed during actual execution of the program code, bulkstorage, and cache memories which provide temporary storage of at leastsome program code to reduce the number of times code is retrieved frombulk storage during execution. Input/output or I/O devices (includingbut not limited to keyboards, displays, pointing devices, etc.) may becoupled to the system either directly or through intervening I/Ocontrollers.

Network adapters may also be coupled to the system to enable the dataprocessing system to become coupled to other data processing systems orremote printers or storage devices through intervening private or publicnetworks. Modems, cable modem and Ethernet cards are just a few of thecurrently available types of network adapters.

As used herein, the word “managing” as used with respect to foreignholidays, refers to one or more of identifying, adding, deleting,replacing, and so forth foreign holidays with respect to countriesidentified in accordance with the present principles. Such managing maybe performed with respect to a computer application including, but notlimited to, an email program, a calendar program, a combination of thepreceding, and so forth.

Reference in the specification to “one embodiment” or “an embodiment” ofthe present principles, as well as other variations thereof, means thata particular feature, structure, characteristic, and so forth describedin connection with the embodiment is included in at least one embodimentof the present principles. Thus, the appearances of the phrase “in oneembodiment” or “in an embodiment”, as well any other variations,appearing in various places throughout the specification are notnecessarily all referring to the same embodiment.

It is to be appreciated that the use of the terms “and/or” and “at leastone of”, for example, in the cases of “A and/or B” and “at least one ofA and B”, is intended to encompass the selection of the first listedoption (A) only, or the selection of the second listed option (B) only,or the selection of both options (A and B). As a further example, in thecases of “A, B, and/or C” and “at least one of A, B, and C”, suchphrasing is intended to encompass the selection of the first listedoption (A) only, or the selection of the second listed option (B) only,or the selection of the third listed option (C) only, or the selectionof the first and the second listed options (A and B) only, or theselection of the first and third listed options (A and C) only, or theselection of the second and third listed options (B and C) only, or theselection of all three options (A and B and C). This may be extended, asreadily apparent by one of ordinary skill in this and related arts, foras many items listed.

The idea is to track a person's mailbox and see which countries arecorresponded with. Periodically, if the correspondence with recipientsfrom a certain country (holidays of which are not in the calendar) isover a set threshold, the system will suggest adding that country'sholidays.

Some email addresses include an implicit country (e.g., ones ending withuk are from the United Kingdom) while others may require consulting theInternet in order to extract their origins (a process that can easily beautomated). Once this information is obtained and tracked, an agent thatruns periodically can sum the number of correspondences with everycountry and check it versus a given threshold (or any other metric). Ifthe result is positive, and the country's holidays are not in thecalendar, the agent can offer the user the option to add that country'sholidays to the calendar. The user can accept or decline the offer.Further management features can include allowing the user to specify tonever suggest (e.g., to restrict) adding holidays for a given country,and so forth.

In an embodiment, we could notify the sender when sending to a recipientwho is currently (according to country information) on a holiday, andlet the sender decide what to do. For example, the sender can beprovided with options including, but not limited to, sending now,postponing the send, or something else.

In an embodiment, we could detect when there is no more correspondencewith people from a given country and, as a result, the system cansuggest removing the holidays for that country.

In an embodiment, we could handle cases where the originating country isnot the same as the actually country (e.g., a visiting professor usingher home country email address). In such cases, the user could, forexample, request evidence supporting the same, and correct the systemwith the right location information for one or more email addresses.

One or more embodiments could be extended to include out-of-officeinformation received from the recipient. The out-of-office informationmay be received, for example, directly or indirectly (e.g., through theemail system), and/or internally or externally with respect to thesystem providing the foreign holiday management capabilities.

Having described preferred embodiments of a system and method (which areintended to be illustrative and not limiting), it is noted thatmodifications and variations can be made by persons skilled in the artin light of the above teachings. It is therefore to be understood thatchanges may be made in the particular embodiments disclosed which arewithin the scope and spirit of the invention as outlined by the appendedclaims. Having thus described aspects of the invention, with the detailsand particularity required by the patent laws, what is claimed anddesired protected by Letters Patent is set forth in the appended claims.

1. A method for managing foreign holidays for a computer application,comprising: receiving email information relating to foreign countriesthat a user communicates with; calculating, based on the emailinformation, a respective count for each of the foreign countries thatindicates a number of times the user has communicated with respect tothe foreign countries; comparing the respective count for each of theforeign countries to a threshold; through a software user interface,offering the user an option to add one or more foreign holidayscorresponding to a particular one of the foreign countries to thecomputer application, when the respective count for the particular oneof the foreign countries exceeds the threshold; and through a softwareuser interface, offering the user an option to specify a differentcountry than an actual originating country from among the foreigncountries that the user communicates with, and wherein the respectivecount is respectively calculated for the actual originating country andfor the different country to allow consideration of both a home countryas the different country and a visiting country as the actualoriginating country for a particular individual.